package io;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

/**
 *  IO: Input和Output, 即: 输入输出
 *
 *  Java 将输入和输出用"流Stream"表达,分为输入和输出流
 *  Java将流输入和输出定义了两个对应的超类InputStream和OutputStream:
 *  1)InputStream:
 *      输入流, 方向是从外界到程序的方向, 用于读取数据的流, 是一个抽象类, 定义了读取字节的相关方法
 *  2)OutputStream:
 *      输出流, 方向是重程序到外界的方向,用于写出数据的流,是一个抽象类,定义了写出字节的相关方法
 *
 *  文件流:FileInputStream和FileOutputStream
 *  文件流继承自InputStream和OutputStream, 用于对文件进行读写操作
 */
public class FOSDemo {
    public static void main(String[] args) throws IOException {
        /*
            文件输出流两个常用的构造器:
            1)FileOutputStream(String fileName)
            2)FileOutputStream(File file)
            文件流创建时如果指定的文件不存在则会自动创建,前提是该文件所在的目录必须存在,若不存在则发生异常
         */

        //定义文件输出流
        File file = new File("fos.dat");
        FileOutputStream fos = new FileOutputStream(file,true);//根据File实例定义文件输出流
        //FileOutputStream fos = new FileOutputStream("fos.dat");
        fos.write(1);//向fos.dat中输出1个字节
        fos.write(2);//向fos.dat中又输出1个字节
        fos.write(256);
        System.out.println("输出完毕");
        fos.close();//关闭流












    }
}
